//
//  MidiController.h
//  FlashController
//
//  Created by Martin Schiøth Dyrby on 8/16/12.
//  Copyright 2012 Molamil. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface MidiController : NSObject {
	NSMutableArray* nextControlListeners;
	NSMutableArray* controlListeners;
	NSMutableArray* stepControlListeners;
	NSNumber *decrementValue;
	NSNumber *incrementValue;
}

@property (retain) NSNumber *decrementValue;
@property (retain) NSNumber *incrementValue;

@property (retain) NSMutableArray* nextControlListeners;
@property (retain) NSMutableArray* controlListeners;
@property (retain) NSMutableArray* stepControlListeners;

- (void) setup;
- (void)checkMidiIn:(NSTimer *) timer;

- (void) addListenerForNextControl: (NSString*) selectorName forObject: (id) receiver;
- (void) addListenerForControl: (NSNumber*) controlType withNum: (NSNumber*) controlNum forSelectorName: (NSString*) selectorName forObject: (id) receiver;
- (void) addListenerForStepControl: (NSNumber*) controlType withNum: (NSNumber*) controlNum forSelectorName: (NSString*) selectorName forObject: (id) receiver;

@end
